<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class C_Login extends CI_Controller {

    /**
     * Tela inicial de login do SISGuarda
     * @author Grupo-1 S47 2012/1
     * @since 06/11/2012
     */
    public function index() {

        $dados['token'] = $this->m_tools->geraToken();
        
        /*
         * Gravando o token na session
         */
        $this->session->userdata('token', $dados['token']);
        
        $this->load->view('inc/inc_head_login', $dados);
        $this->load->view('v_principal_login');
        $this->load->view('inc/inc_rodape');
    }

    public function validaForm() {

        $this->load->model('m_usuario');

        $idt    = $this->input->post('i_idt');
        $senha  = $this->input->post('i_senha');
        $token  = $this->input->post('token');

        if ($token == $this->session->userdata('token')) {

            if ($idt != FALSE && $senha != FALSE) {
                
                $dados = $this->m_usuario->validaUsuario($idt, $senha);
                $numRows = $dados->num_rows();
                $dadosUser = $dados->row();

                if ($numRows > 0) {

                    $sessionDados = array(
                        'nomeGuerra' => $dadosUser->NOME_GUERRA,
                        'idt' => $dadosUser->IDT,                        
                        'perfilDesc' => $dadosUser->PERFIL_DESC,
                        'perfilId' => $dadosUser->PERFIL_ID,
                        'pstGradSigla' => $dadosUser->PST_GRAD_SIGLA,
                        'pstGradId' => $dadosUser->PST_GRAD_ID
                    );

                    /*
                     * Guardando os dados na session
                     */
                    $this->session->set_userdata($sessionDados);

                    /*
                     * Gerar Log de acesso
                     */
                    $msg = 'Usuário Logado com Sucesso';
                    $this->m_tools->gravaLog($msg);

                    redirect('c_home/principal');
                } else {
                    /*
                     * Nao esta logado
                     */
                    $this->session->sess_destroy();
                    redirect('c_login', 'location');
                }
            } else {
                $this->session->sess_destroy();
            }
        } else {
            redirect('c_login/logout', 'location');
        }
    }

    public function logout() {
        /*
         * Gerar Log da saida do sistema
         */
        $msg = 'Usuário Saiu do sistema, logout';
        $this->m_tools->gravaLog($msg);
        $this->session->sess_destroy();
        redirect('c_login', 'location');
    }
}